#include <iostream>
#include <vector>
int main() {
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
int count = 0;
std::cin >> count;
const int k_max_level = 2 * 1e6 + 1;
const int64_t k_value_mod = 1e9 + 7;
std::vector<int64_t> crazy_tree_count(k_max_level, 0);
std::vector<bool> head_use(k_max_level, false);
crazy_tree_count[3] = 4;
head_use[3] = true;
for (int level = 4; level < k_max_level; ++level) {
crazy_tree_count[level] =
2 * crazy_tree_count[level - 2] + crazy_tree_count[level - 1];
if (!head_use[level - 1] && !head_use[level - 2]) {
head_use[level] = true;
crazy_tree_count[level] += 4;
}
crazy_tree_count[level] %= k_value_mod;
}
for (int index = 0; index < count; ++index) {
int level;
std::cin >> level;
std::cout << crazy_tree_count[level] << std::endl;
}
return 0;
}
1732. Find the Highest Altitude | 709. To Lower Case |
1688. Count of Matches in Tournament | 1684. Count the Number of Consistent Strings |
1588. Sum of All Odd Length Subarrays | 1662. Check If Two String Arrays are Equivalent |
1832. Check if the Sentence Is Pangram | 1678. Goal Parser Interpretation |
1389. Create Target Array in the Given Order | 1313. Decompress Run-Length Encoded List |
1281. Subtract the Product and Sum of Digits of an Integer | 1342. Number of Steps to Reduce a Number to Zero |
1528. Shuffle String | 1365. How Many Numbers Are Smaller Than the Current Number |
771. Jewels and Stones | 1512. Number of Good Pairs |
672. Richest Customer Wealth | 1470. Shuffle the Array |
1431. Kids With the Greatest Number of Candies | 1480. Running Sum of 1d Array |
682. Baseball Game | 496. Next Greater Element I |
232. Implement Queue using Stacks | 844. Backspace String Compare |
20. Valid Parentheses | 746. Min Cost Climbing Stairs |
392. Is Subsequence | 70. Climbing Stairs |
53. Maximum Subarray | 1527A. And Then There Were K |